class Node:
def __init__ (self, valeur, suivant=None):
self.valeur = valeur
self.suivant = suivant
def __str__ (self):
return f"({', '.join(map(str, self.to_list()))})"
def to_list(self) -> list:
if self.suivant is None:
return [self.valeur]
return [self.valeur] + self.suivant.to_list()
AstuceImplémentation d’une liste chaînée
elements plus grands
1.
Ecrire une fonction itérative
plusGrands(L, seuil)qui retourne tous les nombres deLdont la valeur est au moins égale au seuil.
def plusGrands(L: Node, seuil: int or float) -> Node:
liste_plus_grands = Node(None)
tail = liste_plus_grands
while L is not None:
if L.valeur > seuil:
tail.suivant = Node(L.valeur)
tail = tail.suivant
L = L.suivant
# ne pas oublier de retirer le premier élément
return liste_plus_grands.suivant
L = Node(6, Node(42, Node(73, Node(28, Node(3)))))
# print(plusGrands(L, 40))2.
Donner mantenant une solution utilisant une fonctionelle
filter. Cette fonctionnelle permet de conerver les éléments d’une liste vérifiant un prdivat passé en argument.